package com.yantong.service;

import com.yantong.utils.PageUtils;
import com.yantong.pojo.vo.*;
import com.yantong.pojo.ListMemberParams;
import com.yantong.pojo.Member;
import org.apache.ibatis.session.RowBounds;

import java.util.List;
import java.util.Map;

/**
 * 门店商品销售统计 Service
 *
 * @author xiangyi
 * @version V1.0.0
 * @date 2018年9月14日 下午2:52:33
 * @since 3.0
 */
public interface StatisticsCommanderService {

	/**
	 * 门店商品销售列表
	 *
	 * @param listMemberParams
	 * @param member
	 * @param offset
	 * @param limit
	 * @return
	 */
	PageUtils<Member> commanderCommodityStatistics(ListMemberParams listMemberParams, Member member, int offset, int limit);


	/**
	 * 商品交易总量
	 *
	 * @param listMemberParams
	 * @param member
	 * @return
	 */
	Long getJyTotal(ListMemberParams listMemberParams, Member member);

	/**
	 * 导出查询
	 *
	 * @param listMemberParams
	 * @param member
	 * @return
	 */
	List<Member> statisticsExport(ListMemberParams listMemberParams, Member member);

	StoreSalesStatsVo getStoreItemSalesStatsSum(DataStatsDto dataStatsDto);

	List<StoreSalesStatsVo> getStoreItemSalesStats(DataStatsDto dataStatsDto);

	Integer getUserachievementDataCount(DataStatsDto dataStatsDto);

	List<UserAchievementVo> getUserachievementData(DataStatsDto dataStatsDto, RowBounds rowBounds);

	Map<Long, OrderAchievementVo> getUserSelfStats(Map map);

	Map<Long, OrderAchievementVo> getUserShareStats(Map map);

    List<UserAchievementVo> getTeamAchievementStats(DataStatsDto dataStatsDto);

    List<UserAchievementVo> getRoleAchievementStats(DataStatsDto dataStatsDto);

    Integer getCentreAchievementStatsCount(DataStatsDto dataStatsDto);

    List<UserAchievementVo> getCentreAchievementStats(DataStatsDto dataStatsDto, RowBounds rowBounds);

    List<StoreVerifyStatsVo> getStoreVerifyStats(Long teamId);

    List<StoreVerifyStatsVo> getStoreVerifyStatsDetail(Map map);
}
